TIL

if(kakao) dev 2019 후기

KeyNote

  1. 챗봇 주문

    • 중소사업자가 모바일 기반의 주문 서비스를 소비자에게 제공할 수 있다.
  1. 카카오 API

    • 현대자동차와 협업하여 소나타에 카카오 인공지능인 kakao i 탑재
    • 아이파크의 신축 아파트에 kakao i 기반의 홈 IOT 환경 구축
  1. 카카오 뱅크

    • 단기간에 천만 고객 달성
    • 모바일 퍼스트 전략
    • ICT 기반의 인터넷 은행만의 장점 살리기 => 비즈니스 재정의 수준의 재설계 필요 ex) 26주 적금, 모임통장 등
    • 내가 있는 곳이 곧 은행이다.
    • 개발자 역할의 확장이 중요. 프로덕트에 개발자 의견이 반영되어야 한다.
      • 왜 ? => 개발자는 그 제품에 첫번째 고객이다.
    • 모바일에 대한 다른 접근 + 기술 기반 전략 및 문화 => 차별화된 새로운 금융 서비스
  1. 카카오 맵

    • 국내 최초로 HTML5로 개편. Active X 설치하지 않아도 됨.
    • 3D sky view
    • 연도별로 로드뷰 확인 가능
    • 제주도 지역에서 초정밀(10cm 단위) 버스 위치 확인 서비스 제공
  1. 카카오 오픈 API

  1. 카카오 기술 공유

리액트: 그것마저 결정해주마

리액트로 개발할 때 자주하게 되는 7가지 고민에 대한 해답을 제시하는 방식의 발표였다.

  1. 컴포넌트 코드를 일관성 있게 작성하고 싶어요

    • 코딩 컨벤션을 정하세요

      • eslintprettier를 적극 활용하기를 권장
  1. 기존 클래스형 컴포넌트를 훅으로 변경해야 할까요?

    • 리액트 훅을 사용하세요
      • 기존의 함수형 컴포넌트는 상탯값을 가질 수 없는 단점이 있었다 => 리액트 훅이 나오면서 상탯값을 가질 수 있게 되었다
      • 리액트 훅은 대세라고 생각. 클래스형 컴포넌트가 지상파 TV라면 리액트 훅은 Youtube
      • 만약 새로운 리액트 프로젝트를 시작한다면 리액트훅을 사용해보기를 권장한다
      • 클래스형 컴포넌트의 단점
        1. 중복되는 코드가 많다
        2. 서로 다른 기능의 코드가 같은 곳에 위치해 있다
        3. 간단한 기능을 구현할 때도 코드가 많이 들어간다
  1. 서버사이드 렌더링을 해야할까요?

    • 서버사이드 렌더링은 필요할 때만 하세요

      • 서버사이드 렌더링의 장점

        1. 검색엔지 최적화(SEO)
        2. 사용자 입장에서의 빠른 첫 페이지 렌더링
      • 서버사이드 렌더링의 단점

        1. 복잡도 증가
        2. 서버 관리 부담 증가
      • SEO가 필요한 프로젝트라면 선택이 아니라 필수

      • 서버 렌더링이 필요하다면 next.js, 필요하지 않다면 create-react-app을 추천

        => next.js는 이미 SSR 환경이 구축되어 있는 장점이 있다

  1. 렌더 함수 안에서 새로운 객체를 생성해도 되나요?

    • 렌더링 성능 최적화는 미리 하지 마세요
      • 리액트에서 가장 중요하면서 cpu를 제일 많이 사용하는 작업은 렌더링
      • 최신 브라우저에서 새로운 객체의 생성은 충분히 빠르다
      • 렌더 함수 호출을 최소화하는 것이 중요
  1. 리덕스를 써야하나요?

    • 리덕스 쓰세요

      • 리덕스의 장점

        1. 미들 웨어를 기반으로 하는 다수의 유용하 라이브러리 ex) redux-saga
  1. 주위에서 타입스크립트 얘기가 많이 들리는데요, 정적 타입을 도입하는게 좋을까요?

    • 타입스크립트 사용하세요

      • 타입스크립트의 장점

        1. 연관된 코드는 서로 타입으로 연결되어있어서 코드 간의 이동이 쉬워진다

        2. 동적 타입 언어는 IDE 차원에서 지원할 수 있는 기능이 매우 제한적이다. 그에 반해 정적타입어는 지원하는 기능이 많아서 생산성 향상에 크게 도움이 된다.

          ex) 속성값 리스트업, Auto Import, Rename Symbol

  1. css - in - js 방식을 사용하고 싶어요

    • Styled-components + rebass를 쓰세요

발표자분의 카카오 페이지 리액트 포팅 후기

프론트엔드 기술로 동료들 삶의 질 높여주기 (카카오뱅크 Fun 프로젝트 개발기)

  • 카카오뱅크 고객센터 신분증 검수 업무를 게임처럼 할 수 있게 프로그램 제작

    • 일의 능률향상과 재미를 위해 개발에 착수했지만 고객센터 직원들에게는 기존에 하던 일의 큰 변화

      생기는 것이기 때문에 달가워하지 않음. 서로의 도메인 지식이 달라서 생기는 문제. 회의를 거쳐서 너무 게임같은 느낌은 탈피하고 일의 능률 향상에 초점을 맞추어 개발.

    • 프로그램 제작 전에는 1인 2000건 처리, 제작 후에는 1인 6000건 처리. 일의 능률이 3배 가량 상승

  • 카카오뱅크 오피스 검색 서비스

    • 카카오뱅크 근무자가 늘어나면서 서로의 위치를 찾기 어려워져서 다른 동료들에게 물어물어 어렵게 찾는 장면을 보고 개발에 착수하게 됨
    • 사용자가 계속 이용하고 싶어지는 프로그램의 요건
      • 처음 봤을 때 와! 하는 감탄사가 나와야한다.
        • 심즈라는 3D 게임에서 모티브를 얻어 3D로 제작
        • Three.js 사용
      • 이용에 재미를 느껴야 한다.
        • 프로그램 내 컴퓨터에서 지렁이 게임이나 지뢰 찾기 등의 또 다른 프로그램을 열 수 있게 제작
        • 모든 사용자에게 자리이동 등의 수정권한 부여
      • 사용이 편리해야 한다.
        • 이름 검색을 하면 자동으로 그 위치로 이동
        • 버튼 한 번 클릭으로 다시 내 위치로 이동 가능
        • 휴가자 정보도 알 수 있음
  • 동료가 곧 서비스이용자이다.
  • 일거리를 찾다보면 할 일은 무궁무진하게 많다.

Becoming kakao Krew! (카카오 개발 문화 체험)

온보딩 / 주도적인 일하는 방식 / 다양한 직군과의 협업 / 회고 등 카카오에 입사하면 겪게되는 상황들을 경험하는 체험형 프로그램

카카오 개발 문화 체험에서 가장 먼저 한 체험은 영어 이름 짓기이다. 카카오에서는 어떤 직급을 갖고 있든 서로를 영어이름으로 부른다고 한다. 예를 들어 카카오 CTO가 GD라는 영어이름을 갖고있다면 신입사원도 GD님이나 GD께서와 같은 존칭을 사용하지 않고 GD가~ 이런식으로 아주 수평적인 호칭을 사용한다고 한다. 영어이름을 짓고 나서는 간단하게 자기소개를 하고 카카오 문화와 원칙에 대한 설명을 잠시 듣는다.

카카오 문화

  • 자기주도성
  • 수평 커뮤니케이션
  • 공개/공유
  • 신 / 충 / 헌 => 신뢰, 충돌, 헌신

카카오 원칙

  • 100 : 0의 원칙
    • 카카오 내부에서는 모든 것을 공개하고 카카오를 벗어나서는 아무것도 공개하지 않는다
  • 1원의 원칙
    • 카카오 크루의 신뢰를 깨뜨릴 수 있다면 그게 1원이라도 문제가 될 수 있다

그 이후에는 실제 카카오 직원들의 근무환경과 유사하게 꾸며놓은 장소로 이동한다. (책상이 수직으로 움직일 수 있어서 서서도 근무할 수 있다.) 이동한 곳에는 노트북이 있고 실제 경주 지진과 같은 재난 상황에서 카카오톡 메신저가 불통이 되었을 때 대처했었던 상황을 재연하여 보여준다. 이런 문제가 발생하였을 때 카카오 직원들은 카카오톡을 만든 회사 답게 카카오 단체 톡방을 이용하기도 하고 자사에서 개발한 팀 커뮤니케이션 프로그램인 agit를 사용한다고 한다.

마지막으로 회고를 하는 시간을 갖고 카카오 문화체험이 어땠는지 10점 만점에 자신이 생각하는 점수를 주고 체험을 마친다. 카카오 개발 문화 체험이라는 타이틀을 달고 있지만 개발 문화를 체험하기에는 시간이 부족하여 아쉬움이 컸다.

Share